home *** CD-ROM | disk | FTP | other *** search
/ Collection of Tools & Utilities / Collection of Tools and Utilities.iso / pascal / tjoop11.zip / QUEUTEST.PAS < prev    next >
Pascal/Delphi Source File  |  1991-05-16  |  1KB  |  68 lines

  1. PROGRAM MyQueue ;
  2.  
  3. USES
  4.        CRT ,
  5.        QueueOBJ ,
  6.        Elements ,
  7.        BaseTypes ;
  8.  
  9.  
  10. VAR
  11.        q                               : PQueueOBJ ;
  12.        d                               : PElementOBJ ;
  13.  
  14.  
  15.  
  16. BEGIN  {  *******  MAIN  *******  }
  17.  
  18.   WriteLn ;
  19.  
  20.   WriteLn ( 'Memory before operation                : ' , MemAvail : 5 ) ;
  21.  
  22.   q := New ( PQueueOBJ , Init ) ;
  23.  
  24.   q^.Add ( New ( PStrOBJ , Init ( 'One!' ) ) ) ;
  25.   q^.Add ( New ( PRealOBJ , Init ( 1.5 ) ) ) ;
  26.   q^.Add ( New ( PStrOBJ , Init ( 'Two!' ) ) ) ;
  27.   q^.Add ( New ( PRealOBJ , Init ( 2.5 ) ) ) ;
  28.  
  29.   WriteLn ( 'Memory with four items                 : ' , MemAvail : 5 ) ;
  30.  
  31.   d := PElementOBJ ( q^.Get ) ;
  32.  
  33.   d^.Display ;
  34.  
  35.   Dispose ( d , Done ) ;
  36.  
  37.   WriteLn ( '  --  There number one!' ) ;
  38.  
  39.   q^.Add ( New ( PIntOBJ , Init ( 3 ) ) ) ;
  40.   q^.Add ( New ( PRealOBJ , Init ( 3.5 ) ) ) ;
  41.   q^.Add ( New ( PIntOBJ , Init ( 4 ) ) ) ;
  42.  
  43.   WriteLn ( 'Memory with three more items           : ' , MemAvail : 5 ) ;
  44.  
  45.  
  46.   WHILE ( NOT ( q^.Empty ) )
  47.    DO
  48.     BEGIN
  49.  
  50.       d := PElementOBJ ( q^.Get ) ;
  51.  
  52.       d^.Display ;
  53.  
  54.       Write ( ' ' ) ;
  55.  
  56.       Dispose ( d , Done ) ;
  57.  
  58.       END ;  {  WHILE  }
  59.  
  60.   WriteLn ;
  61.  
  62.   WriteLn ( 'Memory after disposing of all elements : ' , MemAvail : 5 ) ;
  63.  
  64.   Dispose ( q , Done ) ;
  65.  
  66.   WriteLn ( 'Memory after disposing of the stack    : ' , MemAvail : 5 ) ;
  67.  
  68. END .